Description:
MSCOR detects if the range of the shift count operand is
not within [0,31] for the integer type,
or [0,63] for the int64 type.
It does not produce this message when the distance
between the maximum and minimum values of shift count is greater than 255,
so the message will not be reported if the shift count is just a variable of integer type.
Incorrect:
procedure ex(x,y:integer);
begin
x := x shr y;
x := x shr (32 - (y And 31));
End Sub